Devices such as optical readers or optical pens conventionally emit light that reflects off a surface to a detector or imager. As the device is moved relative to the surface (or vice versa), successive images are rapidly captured. By analyzing the images, movement of the optical device relative to the surface can be tracked.
One type of optical pen is used with a sheet of paper on which very small dots are printed. The dots are printed on the page in a pattern with a nominal spacing of about 0.3 millimeters (0.01 inches). The pattern of dots within any region on the page is unique to that region. The optical pen essentially takes a snapshot of the surface, perhaps 100 times a second or more. By interpreting the dot positions captured in each snapshot, the optical pen can precisely determine its position relative to the page.
Applications that utilize information about the position of an optical pen relative to a surface have been or are being devised. An optical pen with Bluetooth or other wireless capability can be linked to other devices and used for sending electronic mail (e-mail) or faxes.
The increasing power of embedded computer systems and the complexity of the functions they are able to implement have created a need for a more intuitive and user-friendly manner of accessing such power. A typical prior art optical pen will implement its intended functionality by the user operating one or more buttons/switches or controls of the optical pen to activate one or more software programs, routines, embedded devices, or the like. The pen may contain or be in communication with a computer system. Upon actuation of such controls, the pen device performs its intended function. Accessing the capabilities of increasingly powerful optical pens through the limited number and configuration of switches, buttons, etc. provided on the pen itself, or any remotely coupled computer system device, is not a satisfactory arrangement.
One prior art solution uses the optical pen to recognize a user-defined command, and uses that command to invoke some function of the pen (e.g., PCT publication WO/01/48590 A1). For example, a user's writing can be recognized (e.g., in real-time) and interpreted as a command for the optical pen. The drawback with this solution involves the fact that interaction and control of the functions of the pen requires real-time recognition of the user's handwriting (e.g., as the user writes the command down on a sheet of paper). This solution is not satisfactory due to the fact that interaction with more complex functionality of an optical pen requires the user to repeatedly write-down one or more commands to access different choices, options, or functions provided by the pen. While the solution might be satisfactory for exceedingly simple, single step type applications (e.g., “turn off”, “store”, etc.), the solution is overly cumbersome and limiting in those cases where more complex, satisfying, rich functionality is desired.